var aparted = false;

$("#open").click(function () {  // 用户点击id为open的元素时，会触发一个匿名函数
  /**
  * @author DavidLee 
  * @title 匿名函数
  * @date 2024-10-11
  * @description 点击按钮后，页面上的文字以打字机效果逐字显示，并且会播放背景音乐
  * @param  null
  * @return null
  */
  if (!aparted) {   // 第一次点击时
    var typed = new Typed('.letter', {  // 将.letter类元素中的文字以打字机效果逐字显示
      strings: ["^1000Dear&nbsp;&nbsp;Ming",
        "M^200ing<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;夜には^300いつも^200寒いよね、^600でも、^600手を^200繋いでいると、^600暖か^200くなるよ！<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;どんなに^300寒い夜も、^600君と^300二人でいれば、^600ちっとも^300寒くない！<br><br><p style='float:right; display:block; width:80px;'>^1000H^200ao</p>"],
      typeSpeed: 100,   // 打字速度
      backSpeed: 50     // 删除速度
    });

    $('#open').find("span").eq(0).css('background-position', "0 -150px");  // 改变按钮中第一个span元素的背景位置，以表示按钮状态的变化。

    aparted = true;   // 将aparted变量设置为true，表示已经执行过一次点击操作，避免重复执行

    var music = document.getElementById('music2');   // 播放id为music2的音频元素
    if (music.paused) {
      music.play();                            // 如果音频已经暂停，则播放它
      $('#music_btn2').css("opacity", "1");    // 改变#music_btn2元素的透明度，表示音乐正在播放
    }
  }

});

/**
* @author DavidLee 
* @title playPause
* @date 2024-10-11
* @description 控制一个HTML音频元素的播放和暂停
* @param  null
* @return null
*/
function playPause() {
  var music = document.getElementById('music2');  // 通过ID选择器获取HTML文档中ID为music2的音频元素
  var music_btn = $('#music_btn2');               // 通过jQuery选择器获取HTML文档中ID为music_btn2的元素

  if (music.paused) {
    music.play();                   // 如果音频已经暂停，则播放它
    music_btn.css("opacity", "1");  // 将按钮的透明度设置为1（完全不透明）
  } else {
    music.pause();                  // 如果音频正在播放，则暂停它
    music_btn.css("opacity", "0.2");// 将按钮的透明度设置为0.2（半透明）
  }
}


window.onload = function () {  // 一个事件处理程序，当页面完全加载时执行
  /**
  * @author DavidLee 
  * @title 匿名函数
  * @date 2024-10-11
  * @description 控制HTML音频元素的播放和暂停，并处理一些触摸和手势事件
  * @param  null
  * @return null
  */
  var currentUrl = window.location.href;      // 获取当前页面的URL
  var firstIndex = currentUrl.indexOf("#");    // 查找URL中第一个#的位置
  if (firstIndex <= 0) window.location.href = currentUrl + "#contact";  // 如果URL中没有#，则在URL末尾添加#contact，并刷新页面

  $('#music2').attr('src', bgmsrc);    // 将id为music2的音频元素的src属性设置为bgmsrc变量中的值

  // 添加了一个touchstart事件监听器，当屏幕上同时触摸两个或更多点时，阻止默认行为（例如缩放）
  document.addEventListener('touchstart', function (event) {   
    if (event.touches.length > 1) event.preventDefault();
  });

  var lastTouchEnd = 0;  // 定义一个变量，用于记录上一次触摸结束的时间

  // 添加了一个touchend事件监听器，用于防止快速连续的触摸事件（例如双击）导致的默认行为（例如滚动）
  document.addEventListener('touchend', function (event) {

    var now = (new Date()).getTime();
    if (now - lastTouchEnd <= 300) event.preventDefault();
    lastTouchEnd = now;

  }, false);
  // 添加了一个gesturestart事件监听器，用于防止双指缩放导致的默认行为（例如缩放页面）
  document.addEventListener('gesturestart', function (event) {
    event.preventDefault();
  });

  $('body').css('opacity', '1');   // 将body元素的透明度设置为1，使其完全可见
  $('#jsi-cherry-container').css('z-index', '-99');  // 将某个容器的z-index设置为-99，使其在页面背景之下
  
}
